package com.hr.mes.service;

import com.hr.mes.dto.Page;
import com.hr.mes.entity.Menu;
import com.hr.mes.vo.MenuVO;

import java.util.List;

public interface MenuService {

    void addMenu(Menu menu);

    void deleteMenu(Integer menuId);

    void updateMenu(Menu menu);

    Menu getMenu(Integer menuId);

    /**
     * 递归获取所有菜单，展示用
     * @return
     */
    Page<Menu> getMenuList(Integer pageNo, Integer pageSize);

    /**
     * 获取改菜单的子菜单(仅下一级菜单)
     * @return
     */
    List<Menu> getChildren(Integer menuId);

    /**
     * 递归获取所有可用的菜单，授权用
     * @param menuId
     * @return
     */
    List<MenuVO> getAvailableMenuList();
}
